Home automation control system

ABSTRACT

A smart premises controller unit for processing data received from a plurality of sensors and for controlling and monitoring one or more pieces of equipment in at least one room in a premises responsive to the processing includes an alarm resolver to activate an alarm, a climate resolver to control a climate in the room and a presence resolver to determine at least the presence of a human in the room. Each resolver receives input from a subset of the plurality of sensors and each the resolver comprises a sensor processor and scorer for at least one of its associated subset of sensors. Each resolver comprises a set of models for each of its associated sensors according to its type of resolver. Each sensor processor and scorer matches its sensor data against its models to produce a score for each of its associated models.

FIELD OF THE INVENTION

The present invention relates to home, office and building automationsystems generally and to a self-learning home, office and buildingautomation control system in particular.

BACKGROUND OF THE INVENTION

Home automation generally refers to the automation of the home and ofactivities associated with the home. It may include automatic control oflighting and blinds, HVAC (heating, ventilation and air conditioning),electrical appliances and electronic devices, security systems includingalarms and door locks, health care, sprinkler system, pet feeding,houseplants, pool systems, among other systems which may be found in ahome. The control may be at the level of simple remote control ofappliances to complex computer/micro-controller based networks withvarying degrees of intelligence and automation.

Some of these home activities may be simple activities such as turningon a light in a room at the same time every day, while others may bemuch more complex such as sensing the presence of a person in a room andadjusting lighting, temperature and music volume in the room taking intoconsideration factors such as the day of the week and the time of day.Home automation systems may additionally provide increased quality oflife for elderly and disabled persons who might otherwise requirecaregivers for assistance in carrying out home activities, or in somecases even require institutional care.

The elements of a home automation system may include sensors, such astemperature sensors, light sensors, humidity sensors, CO₂ sensors,motion detectors, smoke detectors and others; actuators which mayinclude electronic valves, switches, relays, and motors; and acontroller which may be a centralized controller and/or multipleintelligent devices installed around the home.

The controller(s) may be preprogrammed to control the actuatorsresponsive to information received from the sensors, or may learn tocontrol the actuators by associating real-time human interactions withthe system with information received from the sensors. One or morehuman-machine interface devices may be required so that the residents ofthe home may interact with the system for monitoring and control. Theinterface devices may include a specialized terminal, or may be acomputerized device having display capabilities such as a personalcomputer or a laptop computer, or may include an application running ona smart phone or tablet computer. Communication between the differentelements of the home automation system may be over dedicated wiring, awired network, a wireless network, or a combination of any of theformer.

A home automation system including multiple intelligent devicesdistributed around the home is described in U.S. Pat. No. 6,865,428 B2,“METHOD AND APPARATUS FOR PROVIDING DISTRIBUTED CONTROL OF A HOMEAUTOMATION SYSTEM” to Gonzales et al. Described therein is “a method andapparatus for providing distributed control of a home automation systemis provided. Each device participating in a home automation system isequipped with control logic for providing distributed control. Throughthe control logic, each device maintains scene definitions describingthe state of the device for each scene in which it participates. Whenany device in the system receives a request to launch a scene, such as abutton press on one of the devices, the device broadcasts a scene statechange message to all devices within the home automation system. Thescene state change message identifies to each device a particular scenethat should be launched. Each device in the system receives the messageand determines whether the device is a participant in the scene. If thedevice is a participant in the scene, the device adjusts its stateaccording to a scene definition stored in the device associated with thescene. The device may adjust a controlled electrical load, such as alight, according to the scene definition by turning the load on, off, orsetting the load to some intermediate value”.

Home automation systems may be self-learning and may include acontroller which, based on environmental changes and may autonomouslymake decisions regarding monitoring and controlling conditions in one ormore rooms within a home. Such a home automation system is described inUS Patent Application Publication No. US 2012/0310415 A1, “CONTROL PANELFOR CONTROL SYSTEM AND A CONTROL SYSTEM”, to Raestik et al. Describedtherein is “a control panel and controlling system for adjustingenvironmental conditions of at least one location, wherein the locationhas desired environmental conditions. The system comprises equipmentscontrolled by controlling means for changing and/or maintaining theenvironmental condition of the locations. The controlling means isadapted to provide controlling parameters to equipments for adjustingthe environmental condition of said location. The system includes acontrol panel including at least one sensor, whereby the environmentalcondition is controlled on the basis of the signal received from thesensor”.

SUMMARY OF THE PRESENT INVENTION

There is provided, in accordance with a preferred embodiment of thepresent invention, a smart premises controller unit for processing datareceived from a plurality of sensors and controlling and monitoring oneor more pieces of equipment in at least one room in a premisesresponsive to the processing. The controller unit includes at least twoof the following resolvers: an alarm resolver to activate an alarm, aclimate resolver to control a climate in the room and a presenceresolver to determine at least the presence of a human in the room. Eachresolver receives input from a subset of the plurality of sensors andeach resolver includes a sensor processor and scorer for at least one ofits associated subset of sensors. Each resolver includes a set of modelsfor each of its associated sensors according to its type of resolver andeach sensor processor and scorer matches its sensor data against itsmodels to produce a score for each of its associated models.

Moreover, in accordance with a preferred embodiment of the presentinvention, the plurality of sensors includes two or more of thefollowing: a movement sensor for detecting movement of a mammal in theat least one room, an acoustic sensor for sensing sound in the at leastone room, a thermometer for sensing an ambient temperature in the atleast one room, a light sensor for sensing a level of illumination inthe at least one room, a humidity sensor for sensing a humidity level inthe at least one room, a CO₂ sensor for sensing a CO₂ level in the atleast one room and an image sensor for imaging the at least one room.

Further, in accordance with a preferred embodiment of the presentinvention, the one or more pieces of equipment include any one of analarm system, appliances and electrical devices, an entertainmentsystem, and a HVAC elements.

Still further, in accordance with a preferred embodiment of the presentinvention, the subset of sensors for the alarm resolver may include atleast two of the following: the movement sensor, the acoustic sensor,the light sensor, the CO₂ sensor, and the image sensor. The subset ofsensors for the presence resolver may include at least two of thefollowing: the movement sensor, the acoustic sensor, the light sensor,the CO₂ sensor, and the image sensor. The subset of sensors for theclimate resolver may include at least two of the following: thethermometer, the humidity sensor and the CO₂ sensor.

Further, in accordance with a preferred embodiment of the presentinvention, each resolver includes a multifunctional processor to combineat least the scores from different disciplines producing an overallscore.

Moreover, in accordance with a preferred embodiment of the presentinvention, at least one of the plurality of sensors is an acousticsensor, wherein the presence resolver and the alarm resolver receive theoutput of the acoustic sensor. The unit also includes a voice resolverfor generating a voice instruction responsive to signaling from theacoustic sensor.

Still further, in accordance with a preferred embodiment of the presentinvention, at least one of the resolvers includes a cognitive unit tolearn from at least its sensor data and to modify parameters ofoperation of the resolver.

Additionally, in accordance with a preferred embodiment of the presentinvention, the unit also includes an event resolver to change the stateat least one of the pieces of equipment. The event resolver includes alearning module to learn from events produced by at least one of: thepresence resolver, the alarm resolver, the climate resolver, voiceresolver for generating a voice instruction and input from a user.

Further, in accordance with a preferred embodiment of the presentinvention, the unit also includes a cognitive unit to analyze thestatistics of the learning module and to generate therefrom at least oneof scenario and/or automation updates for automatic operation of theequipment.

Still further, in accordance with a preferred embodiment of the presentinvention, the unit also includes a proactive module to analyze thestatistics of the learning module and to generate therefrom at least onenew change of state of at least one of the pieces of equipment or atleast one new scenario for the equipment.

Moreover, in accordance with a preferred embodiment of the presentinvention, at least two of the plurality of sensors is integrally formedwith the unit.

There is also provided, in accordance with a preferred embodiment of thepresent invention, an automation unit to form, with at least anotherautomation unit, a distributed control system. Each automation unitincludes a controller, a communication module and a database. Thecontroller controls at least one of the pieces of equipment and/or tocontrol the equipment according to a schedule. The communication modulecommunicates with other units in a single premises and the databasestores a local database and at least one shared database from another ofthe at least one other units.

Furthermore, in accordance with a preferred embodiment of the presentinvention, the unit also includes a recovery unit to take over theoperation of a non-functioning portion of one of the units using data inthe shared database associated with the non-functioning portion.

There is further provided, in accordance with a preferred embodiment ofthe present invention, an automation unit for controlling pieces ofequipment in a room. The unit includes a touch screen display, adatabase of events and a proactive unit. The touch screen displayreceives input from a user of the unit and has a default screen todisplay categories of elements related to the pieces of equipment to becontrolled. The database stores events for the pieces of equipment andthe proactive unit reviews the events to determine the most frequentlyused ones of the pieces of equipment of different application categoriesand to indicate to the touch screen display to display the frequentlyused ones of the pieces of equipment on the default screen.

There is also provided, in accordance with a preferred embodiment of thepresent invention, a cognitive automation unit. The cognitive automationunit includes at least two of the following resolvers: an alarm resolverto activate an alarm, a climate resolver to control a climate in theroom, a presence resolver to determine the presence of a human in theroom, a voice resolver to generate a voice instruction and an eventresolver to control at least one of the pieces of equipment from eventsproduced by at least one of: the presence resolver, the alarm resolver,the climate resolver, the voice resolver and input from a user. Each ofthe alarm, voice, climate and presence resolver receives input from asubset of the plurality of sensors. At least one resolver includes aresolver analyzer to learn from output of its subset of sensors and/orprocessing of its resolver and/or events produced thereby and to modifyparameters of operation of the resolver.

Moreover, in accordance with a preferred embodiment of the presentinvention, the event resolver is part of a cognitive cycle that alsoincludes an updater module to analyze the statistics of events and togenerate therefrom at least one of scenario or automation updates forautomatic control of the equipment.

Further, in accordance with a preferred embodiment of the presentinvention, the event resolver also includes a proactive module toanalyze the statistics of the events and to generate therefrom at leastone new change of state of at least one of the pieces of equipment or atleast one new scenario for the equipment.

There is also provided, in accordance with a preferred embodiment of thepresent invention, a proactive automation unit which includes at leastone of the following resolvers: an alarm resolver to activate an alarm,a climate resolver to control a climate in the room, a presence resolverto determine the presence of a human in the room, and a voice resolverto generate a voice instruction. Each of the alarm, climate and presenceresolver receives input from a subset of the plurality of sensors. Theunit also includes an event resolver to control the pieces of equipmentat least in response to the events. The event resolver includes aproactive module to generate at least one new change of state of atleast one piece of equipment or a scenario based on event data from theresolvers.

There is also provided, in accordance with a preferred embodiment of thepresent invention, an energy controller which includes a presenceresolver to determine the presence of a human in the room and a climateresolver to maintain a climate in the room as defined by a user of theroom with minimal energy expenditure and in response to output of thepresence resolver. Each resolver receives input from a subset of theplurality of sensors and each resolver includes a sensor processor andscorer for at least one of its associated subset of sensors. Eachresolver includes a set of models for each of its associated sensorsaccording to its type of resolver and each sensor processor and scorermatches its received sensor data against its models to produce a scorefor each of its associated models. Each resolver includes amultifunctional processor to combine at least the scores from differentdisciplines into an overall score. The unit also includes an eventresolver to control energy consuming pieces of equipment in response tooutput of the climate and presence resolvers. The energy controller mayuse the cognitive cycle and may use a proactive module to generate newchanges of state and/or new scenarios.

There is also provided, in accordance with a preferred embodiment of thepresent invention, a voice resolver unit to process audio data. The unitincludes a noise detection and cancellation module operative on theaudio data, a voice recognition engine to recognize voice in the outputof the noise detection and cancellation module, a noise model scorer tomatch received audio data against at least two noise models to determinethe type or types of noise in the audio data, and a recognition analyzerto analyze the quality of the output of the recognition engine as afunction of the operation of the noise detection and cancellation moduleaccording to the type or types of noise detected.

There is also provided, in accordance with a preferred embodiment of thepresent invention, an automation unit for a premises. The automationunit includes at least two sensors, of which one is an acoustic sensorto sense sound in the room and a presence resolver to determine if aperson is in the room. The presence resolver includes a multifunctionalprocessor to determine the presence from the output of the at least twosensors.

There is also provided, in accordance with a preferred embodiment of thepresent invention, an alarm system protecting a predefined space. Thealarm system includes at least an acoustic sensor to sense sound in thespace, a movement sensor to detect movement in the space and an alarmresolver to determine if a person is in the room, the alarm resolverincluding a multifunctional processor to determine if a room has beeninvalidly entered from the output of at least the sensors and toactivate an alarm when the determination is positive.

There is also provided, in accordance with a preferred embodiment of thepresent invention, a method for processing data received from aplurality of sensors and controlling and monitoring one or more piecesof equipment in at least one room in a premises responsive to theprocessing. The method includes at least two of the following steps:resolving whether to activate an alarm, resolving a climate in the room,and resolving at least the presence of a human in the room. Eachresolving includes matching sensor data from its associated subset ofthe plurality of sensors against its separate set of models for each ofits associated sensors to produce a score for each of its associatedmodels. Each resolving includes receiving input from a subset of theplurality of sensors.

Moreover, in accordance with a preferred embodiment of the presentinvention, each resolving includes combining at least the scores fromdifferent disciplines producing an overall score.

Additionally, the method includes generating a voice instructionresponsive to signaling from an acoustic sensor.

Further, in accordance with a preferred embodiment of the presentinvention, at least one of the resolving includes learning from at leastits associated sensor data and modifying parameters of operation.

Still further, in accordance with a preferred embodiment of the presentinvention, the method also includes changing the state of at least oneof the pieces of equipment wherein the changing includes learning fromevents produced by at least one of the resolving, generating a voiceinstruction and input from a user.

Moreover, in accordance with a preferred embodiment of the presentinvention, the method also includes analyzing the statistics of thelearning and generating therefrom at least one of scenario and/orautomation updates for automatic operation of the equipment.

Further, in accordance with a preferred embodiment of the presentinvention, the method also includes analyzing the statistics of thelearning and proactively generating therefrom at least one new change ofstate of at least one of the pieces of equipment or at least one newscenario for the equipment.

There is also provided, in accordance with a preferred embodiment of thepresent invention, a distributed method for controlling and monitoringone or more pieces of equipment in at least one room in a premises. Themethod includes controlling at least one of the pieces of equipmentand/or controlling the equipment according to a schedule, communicatingwith at least one other units in a single premises and storing a localdatabase and at least one shared database from another of the at leastone other units.

Further, in accordance with a preferred embodiment of the presentinvention, the method also includes taking over the operation of anon-functioning portion of one of the units using data in the shareddatabase associated with the non-functioning portion.

There is also provided, in accordance with a preferred embodiment of thepresent invention, a method for controlling pieces of equipment in aroom. The method includes having a touch screen display, the touchscreen display having a default screen to display categories of elementsrelated to the pieces of equipment to be controlled, receiving inputfrom a user via the touch screen, storing events for the pieces ofequipment, proactively reviewing events to determine the most frequentlyused ones of the pieces of equipment of different applicationcategories, and indicating to the touch screen display to display thefrequently used ones of the pieces of equipment on the default screen.

There is also provided, in accordance with a preferred embodiment of thepresent invention, a cognitive method. The method includes at least twoof the following resolving and controlling steps: resolving whether toactivate an alarm, resolving a climate in the room, resolving thepresence of a human in the room, resolving a voice instruction andcontrolling at least one of the pieces of equipment according to eventsproduced by at least one of the resolving and input from a user. Eachresolving includes receiving input from a subset of the plurality ofsensors, and at least one of the resolving and controlling includeslearning from output of its associated subset of sensors and/or itsprocessing and/or events produced thereby and modifying parameters ofoperation of the resolver.

Further, in accordance with a preferred embodiment of the presentinvention, the method also includes analyzing the statistics of eventsand generating therefrom at least one of scenario or automation updatesfor automatic control of the equipment.

Still further, in accordance with a preferred embodiment of the presentinvention, the method also includes proactively analyzing the statisticsof the events and generating therefrom at least one new change of stateof at least one of the pieces of equipment or at least one new scenariofor the equipment.

There is further provided, in accordance with a preferred embodiment ofthe present invention, a proactive method which includes at least one ofthe following steps of resolving: resolving whether to activate analarm, resolving a climate in the room, resolving the presence of ahuman in the room and resolving a voice instruction. Each resolvingincludes receiving input from a subset of the plurality of sensors. Themethod also includes resolving the control of the pieces of equipment atleast in response to events and proactively generating at least one newchange of state of at least one piece of equipment and/or a scenariobased on event data from the resolving.

There is also provided, in accordance with a preferred embodiment of thepresent invention, a method for controlling energy use. The methodincludes resolving the presence of a human in the room and resolving aclimate in the room as defined by a user of the room with minimal energyexpenditure and in response to output of the presence resolving. Eachresolving includes matching sensor data from its associated subset ofthe plurality of sensors against its separate set of models for each ofits associated sensors to produce a score for each of its associatedmodels and combining at least the scores from different disciplines intoan overall score. Each resolving includes receiving input from a subsetof the plurality of sensors.

Moreover, in accordance with a preferred embodiment of the presentinvention, at least one of the resolving includes learning from at leastits sensor data and modifying parameters of operation. The method mayalso include proactively generating new change of state and/or newscenarios.

There is further provided, in accordance with a preferred embodiment ofthe present invention, a method to process audio data. The methodincludes detecting and cancelling noise in the audio data, recognizingvoice in the audio data after the detecting and cancelling, matchingreceived audio data against at least two noise models to determine thetype or types of noise in the audio data, and analyzing the quality ofthe output of the recognized voice as a function of the operation of thedetecting and cancelling according to the type or types of noisedetected.

There is also provided, in accordance with a preferred embodiment of thepresent invention, a method for determining if a person is in a room.The method includes sensing a room with at least two sensors, of whichone is an acoustic sensor, and determining if the person is in the roomat least from the output of the sensing.

Finally, there is provided, in accordance with a preferred embodiment ofthe present invention, a method for protecting a predefined space. Themethod includes sensing sound in the space, detecting movement in thespace, determining if the space has been invalidly entered at least fromthe output of the sensing and detecting, and when the method isactivated, activating an alarm if the determining is positive.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter regarded as the invention is particularly pointed outand distinctly claimed in the concluding portion of the specification.The invention, however, both as to organization and method of operation,together with objects, features, and advantages thereof, may best beunderstood by reference to the following detailed description when readwith the accompanying drawings in which:

FIG. 1 is a schematic illustration of an automation unit, constructedand operative in accordance with a preferred embodiment of the presentinvention;

FIGS. 2A, 2B, 2C and 2D are schematic illustrations of resolvers formingpart of the automation unit of FIG. 1;

FIG. 3 is a schematic illustration of an event resolver forming part ofthe automation unit of FIG. 1;

FIG. 4 is a timing diagram, useful in understanding the operation of theevent resolver of FIG. 3;

FIGS. 5A, 5B, 5C and 5D are illustrations of a default screen of theautomation unit of FIG. 1;

FIG. 6 is a state diagram of a cognitive process implemented by theautomation unit of FIG. 1;

FIG. 7 is a schematic illustration of a premises with multipleautomation units therein; and

FIG. 8 is an illustration of a database forming part of the automationunit of FIG. 1.

It will be appreciated that for simplicity and clarity of illustration,elements shown in the figures have not necessarily been drawn to scale.For example, the dimensions of some of the elements may be exaggeratedrelative to other elements for clarity. Further, where consideredappropriate, reference numerals may be repeated among the figures toindicate corresponding or analogous elements.

DETAILED DESCRIPTION OF THE PRESENT INVENTION

In the following detailed description, numerous specific details are setforth in order to provide a thorough understanding of the invention.However, it will be understood by those skilled in the art that thepresent invention may be practiced without these specific details. Inother instances, well-known methods, procedures, and components have notbeen described in detail so as not to obscure the present invention.

Applicant has realized that the many building automation systems do nothandle the entirety of activities which occur within a room or a givenspace. Many automation systems handle environmental activities (likeclimate and lighting) while others handle security, yet none of themhandle the entire range of activities that a person may want to dowithin a room of a house or a building.

Moreover, Applicant has realized that, with only a few sensors and a fewresolvers, the entire range of activities of a room may be handled,where the activities may include changes to the climate and/or lightingof the room, and/or activation of entertainment systems (stereo, TV,computer, games, etc.) and/or other appliances (coffee machine,refrigerator, etc.), and/or detecting of an intrusion.

Applicant has further realized that the quality of detection for many ofthe activities of a room may be improved if at least one of the sensorsis an acoustic sensor or an image sensor. For example, both types ofsensors may provide differentiation between types of mammals in a room(humans vs. pets) and may improve intrusion detection.

Still further, Applicant has realized that home automation systems maycarry out relatively complex home activities if, instead of a controllerdirectly associating a sensor with one or more particular actuators, thecontroller processes the data received from a plurality of differentsensors and responsively operates one or more actuators which may or maynot be directly associated with the sensors.

Reference is now made to FIG. 1, which illustrates a room automationunit 10 which may handle the range of activities of the room. Unit 10may comprise a plurality of sensors 20-32, a smart home or premisescontroller 36 and may operate equipment 50-56. Smart home controller 36may comprise a multiplicity of resolvers 40-48, each of which mayresolve input from a subset of said plurality of sensors 20-32 and, as aresult of the processing, may provide instructions to equipment 50-56,via a wired or wireless connection. In addition, smart home controller36 may comprise a user input module 49 and a clock module 75, such as atime of day clock or an astronomic clock.

In accordance with a first preferred embodiment of the presentinvention, the elements of unit 10 may be housed together in a singleunit, with sensors 20-32 arranged on the outer surface of the unit orinside of it, thereby to sense the room. In an alternative embodiment,some or all of sensors 20-32 may be external sensors, communicating viaa wired or wireless connection.

Sensors 20-32 may comprise a movement detector 20, an acoustic sensor22, a thermometer 24, a light sensor 26, a humidity sensor 28, a CO₂sensor 30 and an image sensor 32. While it is believed that this is asufficient list of sensors, it is possible that the present inventionmay be implemented with fewer or more sensors.

Equipment 50-56 may comprise an alarm system 50, appliances andelectrical devices 52, entertainment equipment 54 and HVAC elements 56.Alarm system 50 may be any suitable alarm system, such as an alarmdevice that gives an audible, visual or other form of alarm signal abouta problem or condition and which is equipped with a communicationmodule. Appliances and electrical devices 52 may be any suitable deviceswhich may or may not be in the room and/or may affect the room, such aswindow blinds, curtains, lights, coffee machines, refrigerators, etc.Entertainment system 54 may be any entertainment device, such as aradio, a computing device, a home entertainment system, a projector, amobile device, an electronic game device, etc. HVAC elements 56 may beany climate control device, such as an air conditioner, heater,humidifier, cooler, etc.

Smart home controller 36 may comprise an alarm resolver 40, a presenceresolver 42, a climate resolver 44, a voice resolver 46 and an eventresolver 48.

Alarm resolver 40 may receive input indicating a break-in and/or thepresence of a person in the room, which person is either a stranger oris in the room at an abnormal time. For this purpose, alarm resolver 40may receive input from movement detector 20, from acoustic sensor 22(such as for detection of a loud noise caused by the intrusion and forthe sounds of a stranger in the room), from light sensor 26, from CO₂sensor 30 and from image sensor 32. Each of these sensors may beutilized to provide a different aspect of the intrusion or intruder toalarm resolver 40. When an intrusion is determined, alarm resolver 40may indicate to alarm system 50 to activate an alarm, and may alsoindicate to event resolver 48 to actuate other equipment in thebuilding.

Presence resolver 42 may determine the presence of a human and/or a petin the room and, in accordance with a preferred embodiment of thepresent invention, may receive input from movement detector 20, acousticsensor 22, light sensor 26, CO₂ sensor 30 and image sensor 32. While anyof these sensors may be utilized by itself to indicate the presence of abody in the room, their combination, wholly or in part, may raise thepossibility that the indication will be accurate, since each sensor, onits own, has its own sources of error. A movement detector may detectall movement, including that of a small mammal running across the floor.A CO₂ sensor may similarly provide inaccurate information. Yet theircombination, together with acoustic sensor 22 (which may be processedfor human sounds) and/or image sensor 32 (whose output may be processedto find a human shape) may greatly increase the accuracy of the presencedetection.

Presence resolver 42 may store therein instructions of which appliancesand electrical devices 52 to activate or to change their state upondetecting the presence of a human in the room. Presence resolver 42 mayalso provide its instructions and events, or lack thereof, to eventresolver 48 and to climate resolver 44 so that they may incorporatepresence information into their decision processes.

Climate resolver 44 may determine the current climate of the room andmay provide instructions to appliances and electrical devices 52 and/orto HVAC 56 to change the climate to that requested by the user. To thisend, climate resolver 44 may receive sensed input from thermometer 24,humidity sensor 28 and CO₂ sensor 30 and presence information from thepresence resolver 42. Once again, the input from multiple types ofsensors may provide a more accurate picture of the climate allowingfiner control of the climate of the room, either by actuating the HVAC56 elements and/or by instructing other appliances and electricaldevices 52, such as window blinds or other climate affecting actuators.

Climate resolver 44 may also include the presence information frompresence resolver 42 to determine the climate to be achieved. Forexample, climate resolver 44 may attempt to achieve a more desiredclimate only when presence resolver 42 may indicate the presence of ahuman in the room. Climate resolver 44 may also provide its instructionsand events to event resolver 48.

Voice resolver 46 may include a voice recognition engine and may receiveinput from acoustic sensor 22. Voice resolver 46 may, after recognizingthe spoken words, provide instructions to any of appliances andelectrical devices 52, entertainment devices 54, alarm system 50, HVACelements 56 and/or others. Voice resolver 46 may also provide itsinstructions and events to event resolver 48.

Event resolver 48 may receive instructions from the user via user inputmodule 49, which may operate with any type of an input element or inputinterface, such as a touch screen display, a keyboard, a remotecontroller, a mobile device or other, which may define when and/or underwhat conditions the various equipment 50-56 are to be operated. Eventresolver 48 may receive instructions through user input module 49 or mayreceive instructions from resolvers 40-46. Event resolver 48 may thenoperate the appropriate equipment, with or without a schedule. One suchactivation may be to arm alarm resolver 40 to look for intrusions.

As can be seen, each sensor may provide input to more than one resolverand each resolver may receive input from more than one sensor. Thus,with a relatively small set of sensors, the present invention may beable to carry out relatively complex home activities.

In accordance with a preferred embodiment of the present invention andas shown in FIGS. 2A, 2B and 2C, to which reference is now made,presence resolver 42, alarm resolver 40 and climate resolver 44 maycomprise a sensor processor and scorer 60, a models module 62, amultifunctional processor 70, a resolver analyzer 68, a database 69 andan event definer 72. As shown in FIG. 2D, to which reference is alsomade, voice resolver 46 may comprise a voice sensor processor and scorer60D, an recognition analyzer 71, acoustics models module 62D, a voicerecognition engine 64 and a voice event definer 72D.

Each sensor processor and scorer 60 may be implemented using decisionmethods, such as fuzzy logic, fuzzy sets and neural network methods. Forexample, fuzzy logic and fuzzy sets deal with reasoning that isapproximate rather than exact. Fuzzy logic and fuzzy sets use theconcept of partial truth, in which an object or a variable is notnecessarily either true or false (i.e. an object or variable may betrue, but only to some degree). The implementation may be viewed ascombining a number of inputs in order to make a decision, by utilizingpossibility or probability scores rather than hard thresholds todetermine if a particular state (such as the presence of an intruder)has occurred.

Fuzzy logic, fuzzy sets and their techniques are described in FUZZY SETSAND FUZZY LOGIC Theory and Applications by George J. Klir and Bo Yuan,Prentice Hall P T R (1995).

Each sensor processor and scorer 60 may sample its sensors, process itsinputs, compare the processed inputs to the relevant models of itsmodels module 62 and provide a set of scores, one or more per model.Thus, presence resolver 42 may comprise a presence sensor processor andscorer 60A, alarm resolver 40 may comprise an alarm sensor processor andscorer 60B, climate resolver 44 may comprise a climate sensor processorand scorer 60C and voice resolver 46 may comprise voice sensor processorand scorer 60D.

For example, presence resolver 42 (FIG. 2A) may divide the field of viewof the movement detector 20 into three sections, corresponding to threelevels of heights, and the data from movement detector 20 may be thesignal intensity in each of the upper, middle, and lower sections. Themodel for the presence of a human may be that the intensity in all threesections be “high”. A model for pet movement may be that there be amedium level of signal intensity only in the lower section.

It will be appreciated that there may be a variety of detectionintensity and scores. Presence sensor processor and scorer 60A may scorethe output of movement detector 20 against each model.

Similarly, presence resolver 42 may have models for human sounds and petsounds for the output of acoustic sensor 22. An exemplary model forhuman sound may utilize the voice activity detection of a voicerecognition engine, known in the art. The voice activity detector mayproduce one type of signal when a human voice is detected and othertypes of signals when other types of sounds are detected, such as a petsound or continuous noise such as a HVAC fan.

Presence resolver 42 may comprise an environmental noise detection andcancellation module 65A, such as those known in the art. Module 65A mayoperate on the output of acoustic sensor 22, to improve the quality anddefinition of the sounds that may be received. Module 65A may determineand cancel continuous noises from the output of acoustic sensor 22. Suchcontinuous noises may be characterized with constant amplitudes andfrequencies (such as a computer fan, etc.).

Presence resolver 42 may include an acoustic and audio analyzer 63A togenerate an analysis of the spectrum, pitch and tempo in the acousticsignal. Presence resolver 42 may have a model for music detection whichmay define a spectral range, and a range of pitches and tempos.Moreover, the model may include a time element, such that the score maydegrade after a predefined length of time.

Presence resolver 42 may have models for types of lighting for lightsensor 26 (generally whether or not artificial light is on or off), andmodels for the ranges of CO₂ levels (e.g. above 600 ppm), for CO₂ sensor30. Finally, presence resolver 42 may have models of human and petshapes for image sensor 32.

For image sensor 32, presence sensor processor and scorer 60A mayutilize various image processing methods, known in the art, tounderstand each received image frame. As is known in image compression,elements of the images which don't change (i.e. the fixed items in theroom) can easily be determined. Image processing can include thedetermination of body parts, and of faces. Image processing canadditionally include dividing the field of view into sections, such asupper, middle and lower, where movement detection in all sections mayindicate human movement, while detection of movement in the lowersection may indicate pet movement.

The output of each section may be provided to a different model inpresence sensor processor and scorer 60A whose score may indicate thepresence or absence of a mammal. It will be appreciated that movementdetection based on image sensor 32 may be more accurate in the presenceof light than movement detection based on movement sensor 20. However,movement detection based on movement sensor 20, which utilizes IR(heat), has advantages when the room is dark.

The set of parameters may then be provided to be compared to each of themodels that presence sensor processor and scorer 60B may have whichindicate the presence of a mammal in the room.

Presence resolver 42 may score the output of each of its models and mayprovide them to its multifunctional processor 70A, described in moredetail herein below.

Alarm resolver 40 (FIG. 2B) may have a different set of models for theoutput of each of movement detector 20, acoustic sensor 22, light sensor26, CO₂ sensor 30 and image sensor 32. Since alarm resolver 40 may lookfor indications of intrusion, its models module 62B may comprise a modelof unusual noise for the output of acoustic sensor 22. The model maydefine an unusual noise as a signal of a very short time duration with ahigh amplitude for certain frequencies. The model may define a glassbreaking sound as a signal having a very short time duration (about onesecond) with an amplitude more than 20 dB above environment noise andhaving a combination of several high frequencies (e.g. frequencies over1 KHz). If desired, the output of acoustic sensor 22 may be processed byenvironmental noise detection and cancellation module 65B when beingprocessed by sensor processor and scorer 60B to find the unusual noise.Alarm resolver 40 may additionally have a model of the turning on oflight sensor 26 which may indicate the movement of an intruder into theroom.

Climate resolver 44 (FIG. 2C) may have a models module 62C which maycomprise a model for the output of thermometer 24 as a range oftemperatures that a person may find comfortable or a range oftemperatures around a desired temperature that the user of the room mayhave set. Climate sensor model 62C may have a model for humidity sensor28 as a desired range of humidity, and a model for CO₂ sensor 30 as adesired range of CO₂, for example less than 700-800 ppm, which may makea room comfortable to a human. The CO₂ model for climate will typicallybe different than the CO₂ model for indicating the presence of a human.

Voice resolver 46 (FIG. 2D) may have a voice sensor processor and scorer60D which may have a model for human voice, similar to that of presenceresolver 42. Voice resolver 46 may also have models for different typesof background ‘noise’, such as radio, music, noise from electricalequipment, etc. Similar to the other sound processors, voice sensorprocessor and scorer 60D may include an environmental noise detectionand cancellation module 65D to improve the quality and definition of thesounds prior to their scoring, such as by removing a detected noisesignal.

When scorer 60D generates a score which indicates voice, scorer 60D mayprovide the improved acoustic signal to a voice recognition engine 64which may recognize voice commands to change the state of the relevantappliances and electrical devices 52, alarm system 50, entertainmentsystems 54, HVAC elements 56 etc.

It will be appreciated that, while the various resolvers 40-46 mayreceive input from the same sensors, they each compare the data todifferent models, based on the type of information they need in order todetermine if their type of event has happened and, of course, to respondaccordingly. For example, the acoustic model for alarm resolver 40 issignificantly different than the acoustic model for presence resolver 42and the CO₂ model for presence resolver 42 may be significantlydifferent than the CO₂ model for climate resolver 44. This enables thepresent invention to utilize the same sensors for multiple purposes.

The processor and scorers 60 may operate to define each sensor output asa vector. Some sensor outputs may be one-dimensional, such as the outputof light sensor 26 or thermometer 24, while others may be N-dimensional,such as the output of acoustic sensor 22, movement sensor 20 or imagesensor 32.

Similarly, each model may be defined as an N-dimensional vector, andprocessor and scorers 60 may determine the distance between the sensoroutput vector and the model vector. The distance may be utilized as thescore for that model, where a close distance may provide a high scorewhile a far distance may provide a low score. One such distancecalculation may be:

D=Σ _(i=1) ^(N) |Mi−Si|  Equation 1

Where D is the overall calculated distance and |Mi−Si| is the distancefor the ith vector element.

Multifunctional processors 70A, 70B and 70C respectively, may combineinformation (as scores) from different disciplines into a decisionprocess, producing an overall score. Since the information comes fromdifferent disciplines, the scores are normalized to enable thecombination.

Each processor 70 may combine multiple scores and statuses, weightedeither by default weights or learned weights, generally according totheir importance to the operation of the resolver, to generate anoverall score P(P), which may be a weighted sum of the multiple scores.

The weights define how the various types of models combine together toindicate the goal of each resolver. For example, for presence resolver42, there may be more weight given to the image score (as a function ofthe current light conditions) than to any of the other scores or allscores may be weighted evenly. Alarm resolver 40 may have differentweights for the scores of acoustic sensor 22 and light sensor 26 thanpresence resolver 42. Moreover, alarm resolver 40 may also include astatus indicating that alarm system 50 is armed. This status may be usedwith a corresponding weight or may operate a different set of weights ifthe alarm was armed or not. Similarly, climate resolver 44 may receive astatus indicating that HVAC element 56 has been activated and mayinclude an additional status for the output of presence resolver 42, soas to include in its calculations the fact that there is or isn't aperson in the room.

Multifunctional processors 70 may determine the overall score as, suchas in the following equation:

P(P)=Σ_(i=1) ^(N)Wpi*P(pi)  Equation 2

Where P(pi) is the ith score or status from another resolver or a pieceof equipment and Wpi is the weight for the ith score or status.

Each event definer 72 may have one or more instructions for each valueof its P(P). For example, presence event definer 72A may instruct anautomatic light to turn on if its value of P(P) is above a certainthreshold, indicating the presence of a human in the room and that thereisn't enough light in the room. Alarm event definer 72B may determinethat an alarm situation has been detected for a given value of overallscore P(P) and may activate alarm system 50 at that point.

Climate event definer 72C may turn on an air conditioning appliance ifits overall score is above a certain value of P(P) and may instruct therelevant HVAC element 56 to work at a lower temperature if there is highhumidity in the room. Furthermore, certain values of P(P) may beassociated with applying ventilation due to a high level of CO₂. Othervalues of P(P) may turn on a condensing appliance, add ventilation ifhumidity increases, etc. Furthermore, certain values of P(P) mayindicate no presence in the room. When these are received, event definer72C may indicate to HVAC elements 56 to change to “economic operation”or to shut down. By this operation, unit 10 may reduce energyconsumption of HVAC elements 56 while maintaining the comfort of theuser.

Thus, each resolver may have different instructions based on a range ofvalues of its overall score P(P).

It will be appreciated that the weights Wp, may be initialized withdefault values and may be adaptive as the unit is utilized. Defaultvalues may be fixed or may vary according to specific hardwareconfigurations. For example, there may be multiple types of movementdetector 20, each with a different size lens. In this example, theinitial weighting may be different depending on the structure and sizeof the lens.

Resolver analyzers 68 may adapt the weights for their respectiveresolver. To do so, each sensor processor and scorer 60 may store thesensor data, model parameters and score results in their associateddatabase 69. If desired, each sensor processor and scorer 60 may reviewthe data and store it when there is a predefined change in the sensordata (i.e. the immediate change is large enough or there is asignificant change over a predetermined period of time). In addition,resolver analyzers 68 may store the weights Wpi and the overall scoresP(P) from the multifunctional processors 70. All parameters and recordeddata may have an associated time stamp. The resolver may also save alldata and parameters periodically.

Resolver analyzers 68 may perform various statistical analyses on thedata in databases 69, and may search for changes in the sensor outputsand in the scores, for example to determine its relevancy andeffectiveness. For example, resolver analyzers 68 may determine avariance value Vpi for each type of data and may update the weightassociated with the data by the variance. Specifically, all Wpi mayupdated by:

Wpi=Wpi₀*Vpi  Equation 3

Where Wpi is the updated weight, Wpi₀ is the previous value of theweight and Vpi is the variance normalized to the range 0 to 1, where 0indicates no change and 1 indicates the maximal possible change in theassociated signal.

Resolver analyzers 68 may then normalize their set of weights, forexample, by requiring that the sum of the weights be 1:

Σ_(i=1) ^(N)Wpi=1  Equation 4

For example, as described hereinabove, the field of view of image andmovement sensors 32 and 20, respectively, was divided into 3 sections.In one room, for example, the lower section may be blocked by permanentfurniture, so its output will be constant for a period of time.

For this embodiment, the output of each section may be stored data inthe database 69 and each section may have its own weight in the overallscore for the resolver.

In this example, the data over a period of time, for example severaldays, may show that lower section value may be constant while othersections may have changes in their values. When resolver analyzer 68 mayidentify this situation (for example, by noticing that there was nochange recorded for the lower sensor section), analyzer 68 may reduce oreliminate the influence of the lower sensor section by reducing theweight Wpi associated with the relevant section. At the same time,analyzer 68 may increase the weights associated with the other twosections (i.e. the middle and high field of view sections of thesensor), or may change all of the weights Wpi that appears at therelated equation.

For other types of data, other types of changes may be important. Forexample, for CO₂, a continuous change of 5 ppm per hour that may happenover several hours will be considered and recorded as an importantchange.

Recognition analyzer 71 may store the parameters of the voice acousticmodel and the noise acoustic models 62D and any parameters utilized byvoice recognition engine 64 in database 69D. It may also save theresultant instructions. For example, recognition analyzer 71 may storethe instructions produced by voice recognition engine 64 when the usermay provide a correction to the instructions, such as when recognitionengine 64 misunderstood the user's speech. When this happens,recognition analyzer 71 may request that the user retrain engine 64 andrecognition analyzer 71 may store the retrained signal in database 69.

Recognition analyzer 71 may also analyze the quality of the recognition,as a function of the scores of the various background ‘noises’. Thescores determine what type of background noises there may currently bein the room. With this information, recognition analyzer 71 maydetermine for which type of noise(s), noise detection and cancellationmodule 65D should be activated or deactivated. The process may require afew iterations where in each iteration, recognition analyzer 71 mayactivate the cancellation of one or more noise type(s) and may determineits effect on the quality of the recognition of voice recognition engine64.

As mentioned hereinabove, each event definer 72 may provide its eventinformation, defined by type and time of occurrence as well as otherparameters, to event resolver 48. In turn, event resolver 48 may analyzethe events and may update the activations and/or the schedules ofactivation. Exemplary events may be a change in the temperature settingof an air conditioner, a change in state of a piece of equipment, analarm event or an activation of the alarm, a change in the level of CO₂,etc.

There may be multiple types of events. For example, there may be a usercreated event which may happen when the user changes the state ofequipment 50-56 through user input module 49. This is an event which maybe provided directly to event resolver 48.

A second type of event may be a resolver instruction defined by when oneof resolvers 40-46 may provide instructions to change the state of itsassociated device(s).

A third type of event may be a resolver event defined by when the outputof one of scorers 60 may be above a predefined level for one of itsassociated sensors, even if this doesn't cause the event definer 72 andthe corresponding resolver to change the state of its associatedequipment.

It will be appreciated that the resolver events may be particularlyreliable since resolver events only occur if the preponderance ofmeasurements measured by a resolver indicates that an event hasoccurred. Recall that most of the resolvers have more than one sensorand that the models of the sensor data for each resolver are defined tomatch the purpose of each resolver. Thus, a resolver event on the onehand is unlikely to provide a false activation and on the other handwill have a very high level of detection.

Each event definer 72 may generate instructions to equipment 50-56 andevents, both of which are provided to event resolver 48.

As shown in FIG. 3, to which reference is now made, event resolver 48may comprise an event receiver 74, a database 76, an event activator 78and a self-learning module 80.

Event receiver 74 may receive input from the user, either to change thecurrent state of a piece of equipment, or to provide a schedule ofoperations for the equipment in the room. In addition, event receiver 74may receive events from resolvers 40-46, as they operate and generateevents. Event receiver 74 may store all of the events in database 76,and may list, as described hereinbelow, the type of event, the time ofthe event and any relevant parameters of the event. Event database 76may also store data that relates to events, instructions and scenarios,as described hereinbelow. A scenario may be a change of state (such asturning it on or off, raising or lowering it, changing its set point,etc.) of a piece of equipment with a specific schedule or changing thestates of multiple pieces of equipment (with or without schedule).

Event receiver 74 may provide all immediate events and/or scenarios toactivator 78 to change the state of one or more pieces of equipment.Event activator 78 may comprise a scheduler 79 which may utilize clockmodule 75. Scheduler 79 may receive a schedule of events and mayinstruct activator 78 to activate the relevant equipment according tothe schedule and the time of day produced by clock module 75.

Some of the functionality within event receiver 74 and event activator78 may be included in each resolver, operating resolver correspondingdata and record it in the database.

Self-learning module 80 may comprise an event statistical analyzer 82,an event parameter updater 84 and a pro-active event synthesizer 86, andmay adapt the operation of room automation unit 10 as the user uses theroom. Using the data of database 76, analyzer 82 may analyze thestatistics of the different types of events, using standard statisticaltools. For example, analyzer 82 may cluster events, may use a slidingwindow technique, may determine any frequencies of occurrence, maygenerate histograms of the events to discover patterns, and maydetermine a mean and standard deviation for the occurrence of the event,typically on the timing of the event. Clustering may provide a range oftimes that events happened while tools as the mean and standarddeviation may provide an event parameter update suggestion, based on thestatistics, of a change to the timing of an event as part of thecognitive cycle.

Event parameter updater 84 and pro-active event synthesizer 86 mayupdate database 76 with updated or new activations/changes of state andscenarios for activated equipment and if required, associated schedules.Event parameter updater 84 may suggest parameters updates such asschedule updates. Pro-active event synthesizer 86 may providesuggestions to activate equipment. These suggestions may operate with orwithout approval by the user. Where new equipment activations and/orchanges in schedule are determined, pro-active event synthesizer 86 orevent parameter updater 84 may update database 76 with the new schedulesor the new changes of state and may update the event activator 78 and/orupdate scheduler 79 accordingly.

In addition, event parameter updater 84 may schedule multiple pieces ofequipment within a scenario. For example, the following scenario mayhappen: light A off, light B off, and close blind A. Alternatively, ascenario may happen over a period of time, such as open light A andblind A by 8:00 followed by activate the HVAC by 8:18. Other scenariosmay occur over a longer period of time, such as a 24 hour cycle or more.

Since resolver events may be very reliable due to the multiple sensorinputs and the operations of the resolvers 40-46, event statisticalanalyzer 82 may weight resolver events more highly than sensor eventsand may weight user events higher than resolver events. Given thegeneral reliability of the events, the suggestions generated by updater84 may be well matched to the operation of the room.

Reference is now made to FIG. 4, which may show exemplary data for alight A being turned on and off over a week. As can be seen, duringseveral days/weeks, analyzing the specific intervals in the sametimeframe for several days, light A was turned on at 6:45, 6:48, 6:51,6:55 and 7:15, some of them multiple times.

FIG. 4 shows a sliding window for specific time intervals, such as 20minute periods 90. The 20 minute period labeled 90A, from 6:45 to 7:05,has 4 events, some of which may have occurred multiple times, while the20 minute period labeled 90B has only 1 event. Event statisticalanalyzer 82 may analyze the event data and may produce, for example, amean and standard deviation of the activation time for all 20 minuteperiods with X or more events, where X may be 4.

Given the data from event statistical analyzer 82, pro-active eventsynthesizer 86 may suggest a new activation of light A. In such asuggestion, the mean value of the activation time for the 20 minuteperiod may be the suggested time to automatically turn on light A. Thissuggestion may be for specific day(s) or other periods. Optionally, byuser approval, statistical analyzer 82 may add the event of turning onlight A on specific time and days to the data base 76 as a new event.Analyzer 82 may also add the equipment operation and time to the eventactivator 78 and scheduler 79.

Analyzer 82 may analyze each piece of equipment separately and mayanalyze their data over periods of any appropriate length, which may bepreset as desired. Moreover, database 76 may not be infinite. Therefore,data on daily events may be stored in the data base for a given periodof time, such as three months, and data on weekly events may be storedfor different period of time, such as one year period.

It will be appreciated that event statistical analyzer 82 may analyzethe recorded data in order to find patterns of activities that may bethe basis to form a new scenario, which may involve one or moredifferent pieces of equipment.

Once a new event or a new scenario is established, event statisticalanalyzer 82 may analyze further user activations regarding the event orthe scenario and may update the operation accordingly.

Reference is now made to FIGS. 5A, 5B, 5C and 5D, which illustratemultiple versions of screen of touch screen display unit 10. FIG. 5Aillustrates a default screen which may initially provide “buttons” forall the different types of pieces of equipment that are operated by theunit. The example in FIG. 5A is of a unit that controls 4 types ofequipment: lights, blinds, appliances and HVAC. If the user would liketo turn on a specific light, s/he needs to push/slide the “Lightsbutton” that will direct him/her to the Light screen of FIG. 5B, wherethe required lamp/light will be activated. Over the time, event database76 will record all changes of state of the different pieces ofequipment. Event analyzer 82 may review the data and pro-active eventsynthesizer 86 may take a pro-active step and suggest a new defaultscreen, such as the display of FIG. 5C that has a user's most frequentlyused equipment, such as a combination of specific lights and specificblinds. It will be appreciated that this may reduce the number of buttonpushes/slides the user may have to do which may increase the convenienceof unit 10. The analysis will be based on similar statistical methods asdescribed in hereinabove, to compare the largest number of changes ofstate of each piece of equipment within a pre-defined time frame, suchas within a week.

In an alternative embodiment, event analyzer 82 may further adapt thedisplay for short-sighted people or for older people where it mayprovide only 4 devices but using larger icons, as shown in the displayof FIG. 5D. As the database is updated, the suggested devices may changeover time.

It will be appreciated that the present invention may be a cognitiveautomation unit and may follow a cognitive cycle, as shown in FIG. 6 towhich reference is now briefly made. Unit 10 may include elements whichobserve (sensors 20-32) both in the room and externally, elements whichprovide input from the user (from user input module 49, from the maindisplay and other user input devices), elements which learn, plan anddecide (self-learning module 80 and database 76 in event resolver 48)and elements which act (event activator 78 and scheduler 79). Moreover,event resolver 48 may be an orienting element which may determine thepriority of the response, among normal, immediate and urgent responses.Event resolver 48 may also allocate resources among the equipment 50-56which may be connected to it and may initiate multiple equipment changesof state and schedules which may affect the room and its functioning.Moreover, the cognitive cycle may also be implemented in resolvers40-46, which may include elements which observe (sensors 20-32) both inthe room and externally, elements which learn, plan and decide on thechanges (resolver analyzer 68 and/or recognition analyzer 71), elementswhich are updated (at least the processor and scorers 60 andmultifunctional processor 70), and elements that act (event definers72).

It will be appreciated that the present invention is a proactiveautomation unit capable of suggesting new changes of state of pieces ofequipment or new scenarios, all with or without schedules.

It will be appreciated that unit 10 may be an energy controller, able toreduce energy consumption, particularly via climate resolver 44. Climateresolver 44 may receive climate information (for example, viathermometer 24, humidity sensor 28 and CO₂ sensor 30 and externalsensors) and may compare the received information from the desiredclimate provided by the user. Climate resolver 44 may determine changesin the climate, such as may occur when a window or blind is opened, andmay generate instructions accordingly, such as to suggest that thewindow or blind be closed, or that the HVAC system stop operating, inorder to achieve the desired climate and save energy. In this way, unit10 may be able to achieve a desired climate with a minimum of energyexpended. Furthermore, the indications from presence resolver 42 withrespect to the lack of a human in the room may be generally reliable andthus, when climate resolver 44 may instruct the HVAC system to operatein economy mode or to shut it down, these instructions are unlikely tobe countered by a human in the room. This holds true for otherinstructions as well event resolver 48 may shut down lights or otherunnecessary equipment when no presence is indicated, thereby furtherreducing energy consumption.

Reference is now made to FIG. 7, which illustrates a building, such as ahome or an office, having multiple automation units 11, where automationunits 11 may be similar to automation units 10. For example there may beone automation unit 11 per room, where a room may be any room in abuilding, such as a bedroom, kitchen, living room, dining room, publicarea, conference room, etc. In addition, there may be a remote or mobileunit 11R. Each automation unit 11 may have a controller, such as smartpremises controller 36 or any other appropriate controller to controlpieces of equipment, a communication module 100 which may operate with awired and/or wireless communication network, such as X-10, Wi-Fi,ZigBee, Z-Wave, proprietary protocol etc., with which it may communicatewith the other automation units 11 in the building, with pieces ofequipment, and/or with any external sensors. As shown in FIG. 7, eachautomation unit 11 may have a clock module 75, a recovery module 102 anda global database 105, storing at least a local database 104 for itsunit 11. The local database 104 may store all databases 69 and 76.

In accordance with a preferred embodiment of the present invention andas shown in FIG. 8 to which reference is now briefly made, automationunits 11 may share their databases 104 with each other, such that eachautomation unit 11 may have a copy of the databases 104 of all the otherunits in the building sharing the network. This redundancy may enableany automation unit 11 to take over when another unit 11 fails tooperate for some reason.

Recovery modules 102 may use different methods to implement thisredundancy. For example, they may have a lookup table indicating whichunit 11 is to take over for which non-functional unit.

Each automation unit 11 may periodically provide a ‘Keep alive andStatus’ signal to the recovery modules of the other units 11, which mayprovide an indication that it is alive and may provide a functionalitystatus for one or more of its modules. For example, one status may bethe status of the touch screen. If it ceases to function, the recoverymodule 102 of the assigned unit may “activate” its copy of the database104 of the non-functional unit, such that the user may use the touchscreen of the assigned unit. If only the touch screen isn't functional,then the assigned unit may receive sensor data from the poorlyfunctioning unit and may determine the events in the room.

If, on the other hand, a unit does not generate its ‘Keep alive andstatus’ signal at all, then the assigned unit may take control over theactuation of equipment and scenarios but without any sensor data fromthe non-functional unit to resolve.

It will be appreciated that each unit 11 may control its own room andany equipment in the building. Together, the set of automation units 11throughout the building form a distributed control system, eachcontroller is capable of operating by itself and there is no requirementfor a central controller that will control or/and coordinate all unitsand activities. It will be appreciated that each unit 11 may manageand/or determine schedules of changes of state with the support of itsown clock module 75. With communication modules 100, shared databases104 and recovery modules 102, the set of automation units 11 throughoutthe building also have redundancy and thus can recover from failures ofany unit 11.

In a further embodiment of the present invention, units 10 or 11 mayutilize external sensors, such as a thermometer in a corridor betweenrooms and/or a rain detector outside of the house. The external sensorsmay comprise communication modules to transmit their sensor data andeach resolver in each room unit 10 or 11 may have the appropriate sensormodels for this data.

Similarly, units 10 or 11 may also control external appliances, whereappropriate, even when there is no failure of a unit. For example, auser may instruct its unit 10 or 11 to turn on a coffee machine in thekitchen when the user begins to move around in his bedroom in themorning.

It will be appreciated that the present invention may provide anautomation system for a premises which may be robust yet simple to use.The system may be a distributed automation system for a premises withcognitive abilities as well as pro-active abilities. Thus, the unit maylearn from its operation and its environment and may generate or providesuggestions for improvements or for new changes of state or scenarios.

Unless specifically stated otherwise, as apparent from the precedingdiscussions, it is appreciated that, throughout the specification,discussions utilizing terms such as “processing”, “computing”,“calculating”, “determining”, “resolving” or the like, refer to theaction and/or processes of a computer, computing system,micro-controller, processor, digital signal processor, FPGA or similarelectronic computing device that manipulates and/or transforms datarepresented as physical, such as electronic, quantities within thecomputing system's registers and/or memories into other data similarlyrepresented as physical quantities within the computing system'smemories, registers or other such information storage, transmission ordisplay devices.

Embodiments of the present invention may include apparatus forperforming the operations herein. This apparatus may be speciallyconstructed for the desired purposes, or it may comprise ageneral-purpose computer, processor, micro-controller selectivelyactivated or reconfigured by a computer program stored in the computer.Such a computer program may be stored in a computer readable storagemedium, such as, but not limited to, any type of storage device,including floppy disks, optical disks, magnetic-optical disks, read-onlymemories (ROMs), compact disc read-only memories (CD-ROMs), randomaccess memories (RAMs), electrically programmable read-only memories(EPROMs), electrically erasable and programmable read only memories(EEPROMs), magnetic or optical cards, Flash memory, disk on key, or anyother type of media suitable for storing electronic instructions andcapable of being coupled to a computer system bus.

The processes and displays presented herein are not inherently relatedto any particular computer or other apparatus. Various general-purposesystems may be used with programs in accordance with the teachingsherein, or it may prove convenient to construct a more specializedapparatus to perform the desired method. The desired structure for avariety of these systems will appear from the description above. Inaddition, embodiments of the present invention are not described withreference to any particular programming language. It will be appreciatedthat a variety of programming languages and operating systems may beused to implement the teachings of the invention as described herein.

While certain features of the invention have been illustrated anddescribed herein, many modifications, substitutions, changes, andequivalents will now occur to those of ordinary skill in the art. It is,therefore, to be understood that the appended claims are intended tocover all such modifications and changes as fall within the true spiritof the invention.

What is claimed is:
 1. A smart premises controller unit for processingdata received from a plurality of sensors and controlling and monitoringone or more pieces of equipment in at least one room in a premisesresponsive to said processing, the controller unit comprising at leasttwo of the following resolvers: an alarm resolver to activate an alarm;a climate resolver to control a climate in said room; and a presenceresolver to determine at least the presence of a human in said room;wherein each said resolver receives input from a subset of saidplurality of sensors and each said resolver comprises a sensor processorand scorer for at least one of its associated subset of sensors, whereineach said resolver comprises a set of models for each of its associatedsensors according to its type of resolver, and wherein each said sensorprocessor and scorer matches its sensor data against its models toproduce a score for each of its associated models.
 2. The unit accordingto claim 1 and wherein said plurality of sensors comprises two or moreof the following: a movement sensor for detecting movement of a mammalin the at least one room; an acoustic sensor for sensing sound in the atleast one room; a thermometer for sensing an ambient temperature in theat least one room; a light sensor for sensing a level of illumination inthe at least one room; a humidity sensor for sensing a humidity level inthe at least one room; a CO₂ sensor for sensing a CO₂ level in the atleast one room; and an image sensor for imaging the at least one room.3. The unit according to claim 1 wherein the one or more pieces ofequipment comprise any one of an alarm system, appliances and electricaldevices, an entertainment system, and a HVAC elements.
 4. The unitaccording to claim 2 wherein said subset of sensors for said alarmresolver comprises at least two of the following: said movement sensor,said acoustic sensor, said light sensor, said CO₂ sensor, and said imagesensor.
 5. The unit according to claim 2 wherein said subset of sensorsfor said presence resolver comprises at least two of the following: saidmovement sensor, said acoustic sensor, said light sensor, said CO₂sensor, and said image sensor.
 6. The unit according to claim 2 whereinsaid subset of sensors for said climate resolver comprises at least twoof the following: said thermometer, said humidity sensor and said CO₂sensor.
 7. The unit according to claim 1 wherein at least one of saidplurality of sensors is an acoustic sensor, wherein said presenceresolver and said alarm resolver receive the output of said acousticsensor and also comprising a voice resolver for generating a voiceinstruction responsive to signaling from said acoustic sensor.
 8. Theunit according to claim 1 wherein each said resolver comprises amultifunctional processor to combine at least said scores from differentdisciplines producing an overall score.
 9. The unit according to claim 1and wherein at least one of said resolvers comprises a cognitive unit tolearn from at least its sensor data and to modify parameters ofoperation of said resolver.
 10. The unit according to claim 1 and alsocomprising an event resolver to change the state at least one of saidpieces of equipment wherein said event resolver comprises a learningmodule to learn from events produced by at least one of: said presenceresolver, said alarm resolver, said climate resolver, voice resolver forgenerating a voice instruction and input from a user.
 11. The unitaccording to claim 10 and also comprising a cognitive unit to analyzethe statistics of said learning module and to generate therefrom atleast one of scenario and/or automation updates for automatic operationof said equipment.
 12. The unit according to claim 10 and alsocomprising a proactive module to analyze the statistics of said learningmodule and to generate therefrom at least one new change of state of atleast one of said pieces of equipment or at least one new scenario forsaid equipment.
 13. The unit according to claim 1 and wherein at leasttwo of said plurality of sensors is integrally formed with said unit.14. An automation unit for controlling and monitoring one or more piecesof equipment in at least one room in a premises, to form, with at leastanother automation unit, a distributed control system, each automationunit comprising: a controller to control at least one of said pieces ofequipment and/or to control said equipment according to a schedule; acommunication module to communicate with other units in a singlepremises; and a database storing a local database and at least oneshared database from another of said at least one other units.
 15. Theunit according to claim 14 and also comprising a recovery unit to takeover the operation of a non-functioning portion of one of said unitsusing data in said shared database associated with said non-functioningportion.
 16. An automation unit for controlling pieces of equipment in aroom, the unit comprising: a touch screen display to receive input froma user of said unit, said touch screen display having a default screento display categories of elements related to said pieces of equipment tobe controlled; a database of events for said pieces of equipment; and aproactive unit to review said events, to determine the most frequentlyused ones of said pieces of equipment of different applicationcategories and to indicate to said touch screen display to display saidfrequently used ones of said pieces of equipment on said default screen.17. A cognitive automation unit for processing data received from aplurality of sensors and controlling and monitoring one or more piecesof equipment in at least one room in a premises responsive to saidprocessing, the cognitive automation unit comprising at least two of thefollowing resolvers: an alarm resolver to activate an alarm; a climateresolver to control a climate in said room; a presence resolver todetermine the presence of a human in said room; and a voice resolver togenerate a voice instruction; an event resolver to control at least oneof said pieces of equipment from events produced by at least one of:said presence resolver, said alarm resolver, said climate resolver, saidvoice resolver and input from a user, wherein each of said alarm, voice,climate and presence resolver receives input from a subset of saidplurality of sensors; and wherein at least one resolver comprises aresolver analyzer to learn from output of its said subset of sensorsand/or processing of its resolver and/or events produced thereby and tomodify parameters of operation of said resolver.
 18. The unit accordingto claim 17 wherein said event resolver also comprises an updater moduleto analyze the statistics of events and to generate therefrom at leastone of scenario or automation updates for automatic control of saidequipment.
 19. The unit according to claim 17 wherein said eventresolver also comprises a proactive module to analyze the statistics ofsaid events and to generate therefrom at least one new change of stateof at least one of said pieces of equipment or at least one new scenariofor said equipment.
 20. A proactive automation unit for processing datareceived from a plurality of sensors and controlling and monitoring oneor more pieces of equipment in at least one room in a premisesresponsive to said processing, the proactive automation unit comprisingat least one of the following resolvers: an alarm resolver to activatean alarm; a climate resolver to control a climate in said room; apresence resolver to determine the presence of a human in said room; avoice resolver to generate a voice instruction ; wherein each of saidalarm, climate and presence resolver receives input from a subset ofsaid plurality of sensors; and also comprising: an event resolver tocontrol said pieces of equipment at least in response to said events,wherein said event resolver comprises: a proactive module to generate atleast one new change of state of at least one piece of equipment and/ora scenario based on event data from said resolvers.
 21. An energycontroller for processing data received from a plurality of sensors andcontrolling and monitoring one or more pieces of equipment in at leastone room in a premises responsive to said processing, the energycontroller comprising: a presence resolver to determine the presence ofa human in said room; a climate resolver to maintain a climate in saidroom as defined by a user of said room with minimal energy expenditureand in response to output of said presence resolver; wherein each saidresolver receives input from a subset of said plurality of sensors andeach said resolver comprises a sensor processor and scorer for at leastone of its associated subset of sensors, wherein each said resolvercomprises a set of models for each of its associated sensors accordingto its type of resolver, wherein each said sensor processor and scorermatches its received sensor data against its models to produce a scorefor each of its associated models, and wherein each said resolvercomprises a multifunctional processor to combine at least said scoresfrom different disciplines into a an overall score; and an eventresolver to control energy consuming pieces of equipment in response tooutput of said climate and presence resolvers.
 22. The energy controlleraccording to claim 21 and wherein at least one resolver comprises acognitive automation unit to learn from at least its sensor data, tomodify parameters of operation of said resolver.
 23. The energycontroller according to claim 21 and also comprising a proactive moduleto generate a change of state for said at least one piece of equipmentand/or a scenario for said pieces of equipment based on event data fromsaid resolvers.
 24. A voice resolver unit to process audio data, theunit comprising: a noise detection and cancellation module operative onsaid audio data; a voice recognition engine to recognize voice in theoutput of said noise detection and cancellation module; a noise modelscorer to match received audio data against at least two noise models todetermine the type or types of noise in said audio data; and arecognition analyzer to analyze the quality of the output of saidrecognition engine as a function of the operation of said noisedetection and cancellation module according to the type or types ofnoise detected.
 25. An automation unit for a premises, the automationunit comprising: at least two sensors, of which one is an acousticsensor to sense sound in said room; and a presence resolver to determineif a person is in said room, said presence resolver comprising amultifunctional processor to determine said presence from the output ofsaid at least two sensors.
 26. An alarm system protecting a predefinedspace, the alarm system comprising: an acoustic sensor to sense sound insaid space; a movement sensor to detect movement in said space; and analarm resolver to determine if a person is in said room, said alarmresolver comprising a multifunctional processor to determine if a roomhas been invalidly entered from the output of at least said sensors andto activate an alarm when said determination is positive.
 27. A methodfor processing data received from a plurality of sensors and controllingand monitoring one or more pieces of equipment in at least one room in apremises responsive to said processing, the method comprising at leasttwo of the following steps: resolving whether to activate an alarm;resolving a climate in said room; and resolving at least the presence ofa human in said room; each resolving comprising matching sensor datafrom its associated subset of said plurality of sensors against itsseparate set of models for each of its associated sensors to produce ascore for each of its associated models, wherein each resolvingcomprises receiving input from a subset of said plurality of sensors.28. The method according to claim 27 wherein each said resolvingcomprises combining at least said scores from different disciplinesproducing an overall score.
 29. The method according to claim 27 andwherein at least one of said resolving comprises learning from at leastits associated sensor data and modifying parameters of operation. 30.The method according to claim 27 and also comprising changing the stateof at least one of said pieces of equipment wherein said changingcomprises learning from events produced by at least one of saidresolving, generating a voice instruction and input from a user.
 31. Themethod according to claim 30 and also comprising analyzing thestatistics of said learning and generating therefrom at least one ofscenario and/or automation updates for automatic operation of saidequipment.
 32. The method according to claim 30 and also comprisinganalyzing the statistics of said learning and proactively generatingtherefrom at least one new change of state of at least one of saidpieces of equipment or at least one new scenario for said equipment. 33.A distributed method for controlling and monitoring one or more piecesof equipment in at least one room in a premises, the method comprising:controlling at least one of said pieces of equipment and/or controllingsaid equipment according to a schedule; communicating with at least oneother units in a single premises; and storing a local database and atleast one shared database from another of said at least one other units.34. The method according to claim 33 and also comprising taking over theoperation of a non-functioning portion of one of said units using datain said shared database associated with said non-functioning portion.35. A method for controlling pieces of equipment in a room, the methodcomprising: having a touch screen display, said touch screen displayhaving a default screen to display categories of elements related tosaid pieces of equipment to be controlled; receiving input from a uservia said touch screen; storing events for said pieces of equipment;proactively reviewing events to determine the most frequently used onesof said pieces of equipment of different application categories; andindicating to said touch screen display to display said frequently usedones of said pieces of equipment on said default screen.
 36. A cognitivemethod for processing data received from a plurality of sensors andcontrolling and monitoring one or more pieces of equipment in at leastone room in a premises responsive to said processing, the methodcomprising at least two of the following resolving and controllingsteps: resolving whether to activate an alarm; resolving a climate insaid room; resolving the presence of a human in said room; and resolvinga voice instruction; controlling at least one of said pieces ofequipment according to events produced by at least one of said resolvingand input from a user; wherein each of said resolving comprisesreceiving input from a subset of said plurality of sensors; and whereinat least one of said resolving and controlling comprises learning fromoutput of its associated subset of sensors and/or its processing and/orevents produced thereby and modifying parameters of operation of saidresolver.
 37. The method according to claim 36 and also comprisinganalyzing the statistics of events and generating therefrom at least oneof scenario or automation updates for automatic control of saidequipment.
 38. The method according to claim 36 and also comprisingproactively analyzing the statistics of said events and generatingtherefrom at least one new change of state of at least one of saidpieces of equipment or at least one new scenario for said equipment. 39.A proactive method for processing data received from a plurality ofsensors and controlling and monitoring one or more pieces of equipmentin at least one room in a premises responsive to said processing, theproactive method comprising at least one of the following steps ofresolving: resolving whether to activate an alarm; resolving a climatein said room; resolving the presence of a human in said room; resolvinga voice instruction; wherein each of said resolving comprises receivinginput from a subset of said plurality of sensors; and also comprising:resolving the control of said pieces of equipment at least in responseto events; and proactively generating at least one new change of stateof at least one piece of equipment and/or a scenario based on event datafrom said resolving.
 40. A method for controlling energy use byprocessing data received from a plurality of sensors and controlling andmonitoring one or more pieces of equipment in at least one room in apremises responsive to said processing, the method comprising: resolvingthe presence of a human in said room; resolving a climate in said roomas defined by a user of said room with minimal energy expenditure and inresponse to output of said presence resolving; each resolving comprisingmatching sensor data from its associated subset of said plurality ofsensors against its separate set of models for each of its associatedsensors to produce a score for each of its associated models andcombining at least said scores from different disciplines into anoverall score, and wherein each resolving comprises receiving input froma subset of said plurality of sensors.
 41. The method according to claim40 and wherein at least one of said resolving comprises learning from atleast its sensor data and modifying parameters of operation.
 42. Themethod according to claim 40 and also comprising proactively generatinga new change of state for said at least one piece of equipment and/or ascenario for said pieces of equipment based on event data from saidresolving.
 43. A method to process audio data, the method comprising:detecting and cancelling noise in said audio data; recognizing voice insaid audio data after said detecting and cancelling; matching receivedaudio data against at least two noise models to determine the type ortypes of noise in said audio data; and analyzing the quality of theoutput of said recognized voice as a function of the operation of saiddetecting and cancelling according to the type or types of noisedetected.
 44. A method for determining if a person is in a room, themethod comprising: sensing a room with at least two sensors, of whichone is an acoustic sensor; and determining if said person is in saidroom at least from the output of said sensing.
 45. A method forprotecting a predefined space, the method comprising: sensing sound insaid space; detecting movement in said space; determining if said spacehas been invalidly entered at least from the output of said sensing anddetecting; and when said method is activated, activating an alarm ifsaid determining is positive.
 46. The method according to claim 27 andalso comprising generating a voice instruction responsive to signalingfrom an acoustic sensor.